Systems and methods for detection of potential health issues

ABSTRACT

A device for detecting potential health issues includes a retinal scanner configured to capture retinal data of the user, a blood pressure sensor configured to capture blood pressure data of the user, an alert module configured to alert the user of a potential health risk, and at least one processor communicatively coupled to the retinal scanner, the blood pressure sensor, and the alert module.

TECHNICAL FIELD

This disclosure generally relates to detection of potential healthissues, such as chronic kidney disease.

BACKGROUND

Kidneys typically function to filter wastes and excess fluids from aperson's blood, which are then excreted in a person's urine. When aperson's kidneys lose their filtering capabilities, dangerous levels offluid, electrolytes, and wastes can build up in the person's body.Chronic kidney disease (CKD) is a condition characterized by gradualloss of kidney function over time. CKD includes conditions that damagekidneys and decrease their ability to keep a person healthy. As CKDadvances, wastes can build to high levels in blood and make the affectedperson feel sick. Affected persons may also develop complications likehigh blood pressure, anemia (low blood count), weak bones, poornutritional health, and nerve damage. Also, kidney disease increases therisk of having heart and blood vessel disease. These problems may happenslowly over a long period of time. CKD may be caused by diabetes, highblood pressure, and other disorders. When kidney disease progresses, itmay eventually lead to kidney failure, which requires dialysis or akidney transplant to maintain life.

CKD is typically classified using five severity based stages. End stagerenal disease (ESRD) is the last stage (stage five) of CKD. At thisstage, kidneys are only functioning at 10 to 15 percent of their normalcapacity. When CKD develops into ESRD, dialysis or a kidney transplantis necessary to stay alive. In many instances, detection and treatmentcan keep CKD from getting worse.

SUMMARY

In at least one aspect of the present disclosure a device for detectingpotential health issues is provided. The device includes a retinalscanner configured to capture retinal data of the user. The deviceincludes a blood pressure sensor configured to capture blood pressuredata of the user. The device includes an alert module configured toalert the user of a potential health risk. The device includes acomputer-readable medium comprising computer-executable instructions.The device includes at least one processor communicatively coupled tothe retinal scanner, the blood pressure sensor, and the alert module,the at least one processor configured to execute the computer-executableinstructions. When the at least one processor is executing thecomputer-executable instructions, the at least one processor isconfigured to carry out one or more operations. The one or moreoperations include receiving, from the retinal scanner, the retinal dataof the user. The one or more operations include receiving, from theblood pressure sensor, the blood pressure data of the user. The one ormore operations include detecting, based on the received retinal andblood pressure data, a potential health issue of the user. The one ormore operations include causing, responsive to detecting the potentialhealth issue of the user, the alert module to alert the user of thepotential health issue.

The device can include a weight sensor communicatively coupled to the atleast one processor and configured to capture weight data of the user.The one or more operations can include receiving, from the weightsensor, the weight data of the user. Detecting the potential healthissue of the user can be based on the received weight data. The devicecan include a urinalysis sensor communicatively coupled to the at leastone processor and configured to capture urinalysis data of the user. Theone or more operations can include receiving, from the urinalysissensor, the urinalysis data of the user. Detecting the potential healthissue of the user can be based on the received urinalysis data. Thedevice can include a user interface configured to capture lifestyle dataof the user. The one or more operations can include receiving, from theuser interface, the lifestyle data of the user. Detecting the potentialhealth issue of the user is further based on the received lifestyledata.

Causing the alert module to alert the user of the potential health issuecan include causing the alert module to recommend to the user that theuser visit a healthcare provider. Causing the alert module to alert theuser of the potential health issue can include generating a print-outhaving a summary of a plurality of risk factors.

The one or more operations can include determining, based on thereceived data, a health risk value. Detecting the potential health issuecan include comparing the health risk value to a threshold health riskvalue. Determining the health risk value can include weighting thereceived data in accordance with a predetermined weighting scheme.Detecting the potential health issue of the user can include detectingthat the user is at risk of having chronic kidney disease.

These and other aspects, features, and implementations can be expressedas methods, apparatus, systems, components, program products, methods ofdoing business, means or steps for performing a function, and in otherways, and will become apparent from the following descriptions,including the claims.

Implementations can include one or more of the following advantages.Kiosk technology can be used to address public health on a large-scaleby facilitating early detection of potential health issues and, in someinstances, encouraging people who may not otherwise be aware of theirpotential health issues to seek medical attention. A potential healthissue can refer to a physical condition caused by diseases such as CKDor diabetes. The systems and methods can improve the accuracy ofdetection by using one or more types of sensors that provide data abouta person that can be useful in determining if that person has potentialhealth issues. For example, the systems and methods described in thisspecification can capture sensor data indicating whether or not a userexhibits certain risk factors that can indicate a potential healthissue. A risk factor can refer to physical conditions that may indicatesymptoms of underlying diseases. For example, the presence of albumin inurine can be a risk factor that indicates the user may have CKD.

These and other aspects, features, and implementations will becomeapparent from the following descriptions, including the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an environment including a system for detecting potentialhealth issues, in accordance with one or more embodiments of the presentdisclosure.

FIG. 2 shows a system for detecting potential health issues, inaccordance with one or more embodiments of the present disclosure.

FIG. 3 shows a flowchart depicting an example of a method for detectingpotential health issues, in accordance with one or more embodiments ofthe present disclosure.

FIG. 4 is a block diagram of an example computer system used to providecomputational functionalities associated with described algorithms,methods, functions, processes, flows, and procedures described in thepresent disclosure.

DETAILED DESCRIPTION

It is common to not experience symptoms of CKD in the early stages ofCKD development. Because of this, CKD may not be detected until it hasadvanced to stage 5 (i.e., ESRD) in many instances. For example, somestudies estimate that less than 40% of people that have stage 4 CKD areaware of their condition. Furthermore, the awareness rate decreases forpeople with earlier stage CKD (e.g., some studies estimate that theawareness rate for stage 2 CKD is less than 20%). As a result, CKD istypically not detected and treated until it advances to ESRD, which cantypically require dialysis or kidney transplants. Therefore, systems andmethods that can facilitate early diagnosis to the public on a largescale can be desired.

The present disclosure provides systems and methods for detectingpotential health issues, such as CKD. The systems and methods can beimplemented with public kiosk technology. For example, the systems andmethods can be used utilized in a public setting such as, an airport orsupermarket, to help address public health issues at a large scale. Ingeneral, the systems and methods described herein can act as an initialscreening for potential health issues, and make recommendations to visita healthcare provider (HCP) if it is determined that a user has apotential health issue.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present disclosure. It will be apparent, however,that the present disclosure may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent disclosure.

In the drawings, specific arrangements or orderings of schematicelements, such as those representing devices, modules, instructionblocks, and data elements, are shown for ease of description. However,it should be understood by those skilled in the art that the specificordering or arrangement of the schematic elements in the drawings is notmeant to imply that a particular order or sequence of processing, orseparation of processes, is required. Further, the inclusion of aschematic element in a drawing is not meant to imply that such elementis required in all embodiments or that the features represented by suchelement may not be included in or combined with other elements in someembodiments.

Further, in the drawings, where connecting elements, such as solid ordashed lines or arrows, are used to illustrate a connection,relationship, or association between or among two or more otherschematic elements, the absence of any such connecting elements is notmeant to imply that no connection, relationship, or association canexist. In other words, some connections, relationships, or associationsbetween elements are not shown in the drawings so as not to obscure thedisclosure. In addition, for ease of illustration, a single connectingelement is used to represent multiple connections, relationships, orassociations between elements. For example, where a connecting elementrepresents a communication of signals, data, or instructions, it shouldbe understood by those skilled in the art that such element representsone or multiple signal paths (e.g., a bus), as may be needed, to affectthe communication.

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the various described embodiments. However,it will be apparent to one of ordinary skill in the art that the variousdescribed embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components,circuits, and networks have not been described in detail so as not tounnecessarily obscure aspects of the embodiments.

Several features are described hereafter that can each be usedindependently of one another or with any combination of other features.However, any individual feature may not provide any of the advantagesdiscussed above or may provide one of the advantages discussed above.Although headings are provided, data related to a particular heading,but not found in the section having that heading, may also be foundelsewhere in this description.

FIG. 1 shows an environment 100 including a system 101 for generating ananonymized acoustic fingerprint for the environment 100. As shown, theenvironment 100 is an airport terminal. However, the environment 100 canbe any public or private setting, such as a supermarket, hospitalwaiting area, school auditorium, and so forth. The environment 100includes a user 150 receiving treatment from a system 101 for detectingpotential health issues. For illustrative purposes, the system 101 isdescribed as detecting whether the user 150 is at risk of having ordeveloping CKD. However, in some implementations, the system 101 candetect whether the user 150 is at risk of having or developing otherhealth issues, such as diabetes, chronic heart disease, and so forth.

The system 101 includes a retinal scanner 102, a blood pressure sensor103, a user interface 104, a weight sensor 105, a urinalysis sensor 106,an alert module 107, and one or more computer processors 110. The one ormore computer processors 110 are communicatively coupled with theretinal scanner 102, blood pressure sensor 103, user interface 104,weight sensor 105, urinalysis sensor 106, and alert module 107. Asdiscussed in more detail later with reference to FIG. 2, at least one ofthe retinal scanner 102, blood pressure sensor 103, user interface 104,weight sensor 105, or urinalysis sensor 106 can capture health data ofthe user 150, and transmit the health data to the one or more computerprocessors 110. Furthermore, as discussed in more detail later withreference to FIG. 2, the computer processors 110 can use the health datato determine if the user 150 is at risk of having CKD and cause thealert module 107 to alert the user 150 that the user 150 may be at riskof having or developing CKD. In some implementations, the system 101 canrecommend that the user 150 visit a HCP. In some implementations, thesystem 101 can inquire as to whether the user 150 has a primary HCP,and, if the user 150 does not have a primary HCP, the system 101 canrecommend to the user a primary HCP with the necessary qualificationsfor treating the detected potential health issues (i.e., CKD).

FIG. 2 shows the system 101 for detecting potential health issues, inaccordance with one or more embodiments of the present disclosure. Asindicated earlier, the system 101 includes a retinal scanner 102, ablood pressure sensor 103, a user interface 104, a weight sensor 105, aurinalysis sensor 106, an alert module 107, and one or more computerprocessors 110. In some implementations, the system 101 includes abio-impedance sensor 108.

The retinal scanner 102 is configured to capture retinal data of a user.For example, the retinal scanner 102 can cast a beam of low-energyinfrared light into the eye of the user as the user's eye is positionedin front of and in close proximity to the retinal scanner 102. The beamof infrared light can trace a standardized path on the retina of theuser to capture a retinal image. In some implementations, the retinalscanner 102 can compile unique features of the network of retinal bloodvessels into a retinal template. For example, because retinal bloodvessels are more absorbent of infrared light than the rest of the eye,which causes the amount of reflection to vary during the retinal scan,the retinal scanner 102 can encode this pattern of variations as aretinal template. In some implementations, the retinal scanner 102 isconfigured to perform optical coherence tomography (OCT), which caninvolve using light waves to capture high-resolution cross-sectionimages of the retina. In some implementations, the retinal scanner 102includes a fundus camera, which refers to retinal imager that includes aspecialized low power microscope with an attached camera designed tophotograph the interior surface of the eye, including the retina,retinal vasculature, optic disc, macula, and posterior pole (i.e. thefundus).

The blood pressure sensor 103 is configured to capture blood pressuredata of a user. In some implementations, the blood pressure sensor 103is an electronic sphygmomanometer. A sphygmomanometer refers to a devicethat includes an inflatable cuff, in which a user typically places theirarm, to collapse and then release the artery under the cuff in acontrolled manner to measure systolic and diastolic blood pressure byoscillometric detection. Although shown as a sphygomanometer, in someimplementations, the blood pressure sensor 103 is an optical sensoragainst which a user can press their finger (or forehead). For example,the blood pressure sensor 103 can utilize Photoplethysmography (PPG) tomeasure oxygen saturation, blood pressure, cardiac output and so forth.In some implementations, the optical sensor measures how lightpenetrating through the finger changes its characteristics anddetermines, based on these changing characteristics, a measurement ofthe user's blood pressure. In some implementations, the blood pressuresensor 103 is configured to measure oxygen saturation in the blood byusing a pulse oximetry device that measures light absorption ofhemoglobin. In some implementations, the blood pressure sensor 103measures, using PPG, cardiac output, which refers to the product of theheart rate (or number of heart beats per minute) and the stroke volume(volume of blood pumped from the ventricle per beat). In someimplementations, the blood pressure sensor 103 measures, using PPG,vascular resistance, which refers to the resistance that must beovercome to push blood through the circulatory system and create flow.

The user interface 104 includes a display device, such as an electronicdisplay device. The display device can be configured to act as atouchscreen display device. In some implementations, the user interface104 is a graphical user interface (GUI). The user interface 104 isconfigured to allow a user of the system 101 to interact with the system101 through graphical icons and visual indicators. For example, the userinterface 104 can use windows, icons, menus, pointer paradigm (WIMP) toallow a user to interact with the system 101. In some implementations,the user interface 104 cooperates with the display device to provide auser with a touchscreen GUI. Additionally, or alternatively, the userinterface can include one or more input devices such as a mouse and/orkeyboard communicatively coupled with the system 101. The user interface104 can also use a post-WIMP paradigm typically found intouchscreen-based GUIs. In some implementations, the user interface 104is configured to display images in the form of still photographs and/orvideos.

The user interface 104 is configured to capture lifestyle data of a userof the system 101. Lifestyle data can represent voluntary choices of auser, such as alcohol usage and tobacco usage. Additionally, oralternatively, lifestyle data can represent biological or inheritedfeatures of a user, such as race, ethnicity, height, and family medicalhistory. For example, the user interface 104 can present a set ofquestions to a user. The questions can be helpful in determining if theuser has is at risk of having or developing a health issue, such as CKD.For example, the user interface 104 can prompt a user to answerquestions related to the user's age, height, race, ethnicity, tobaccousage, family history of kidney disease, alcohol usage, diabetichistory, and so forth. The user interface 104 can also prompt a user toanswer questions related to whether the user has been experiencingnausea, vomiting, loss of appetite, fatigue, sleep problems, changes inurination frequency, decreased mental sharpness, muscle cramps,persistent itching, chest pain, swelling of feet or ankles, shortness ofbreath, and so forth. A user can answer the questions using, forexample, the touchscreen functionality of the user interface 104 and/ora keyboard and mouse of the user interface 104. In some implementations,the questions are provided in a scrolling window on the user interface104, which can increase computational efficiency of the system 101, as ascrolling window is capable of reducing the need to load multipleindividual pages.

An example list of questions that can be presented to a user through theuser interface 104 include, but are not limited to, the following:

1. How old are you?

2. Has a doctor ever told you that you have diabetes or pre-diabetes?

-   -   i. If yes, what was your A1C test result?        -   [I don't know]; [Below 5]; [Between 5-6]; [Between 6-7];            [Above 7];

3. Approximately how often do you need to wake up in the night tourinate?

-   -   [Rarely or Never]; [Sometimes]; [A few times a week]; [Once        every night]; [Many times every night];

4. Has a doctor ever told you that you have high blood pressure?

[No]; [Yes, 10 or more years ago]; [Yes, 5 or more years ago]; [Yes, inthe last few years, but less than 5];

5. Do you know of any blood relative(s) who have had kidney disease(select all that apply)?

-   -   [Mother] [Father] [Brother/Sister] [Aunt/Uncle] [Cousin] [None]

6. Please select each button that indicates how much each of thesentences below applies to you:

-   -   i. I find that I need to urinate more often, especially at        night:    -   [Rarely]; [Often]; [Almost Always]    -   ii. I have more swelling of my feet and ankles than I remember        in the past: [Rarely]; [Often]; [Almost Always]    -   iii. I have dry/itchy skin: [Rarely]; [Often]; [Almost Always]    -   iv. I have muscle cramps at night: [Rarely]; [Often]; [Almost        Always]    -   v. I have trouble concentrating: [Rarely]; [Often]; [Almost        Always]    -   vi. I have trouble sleeping: [Rarely]; [Often]; [Almost Always]    -   vii. I feel tired: [Rarely]; [Often]; [Almost Always]    -   viii. I feel cold even when others are not: [Rarely]; [Often];        [Almost Always]    -   ix. My urine is foamy or bubbly: [Rarely]; [Often]; [Almost        Always].

The weight sensor 105 is configured to capture weight data of a user.For example, the weight sensor 105 can be a digital weighing scale onwhich a user can stand or sit. When the user stands or sits on theweighing scale, the weighing scale can measure the weight of the user.For example, the force produced by the user's weight can cause a springof the weighing scale to deform, and the amount of deformation can bemeasured by one or more transducers called strain gauges. A strain gaugeis a conductor whose electrical resistance changes when its lengthchanges.

The urinalysis sensor 106 is configured to capture urinalysis data ofthe user. For example, the urinalysis sensor 106 can include a slotconfigured to receive a vial of urine and a urine dipstick. A urinedipstick is a specially treated chemical strip having patches that, inresponse to being placed in the vial, changes colors to indicate thepresence of abnormalities in the urine, such as excessive amounts ofprotein, blood, pus, bacteria, sugar, and white blood cells. In someimplementations, the urinalysis sensor 106 includes actuators and othermechanisms that, once the urine vial is received, dips a pre-loadeddipstick into the urine vial. The urinalysis sensor 106 can also includeoptical equipment configured to detect the color changes on the patchesof the dipstick.

The alert module 107 is configured to alert a user of a potential healthissue. For example, the alert module 107 includes a printer, such as atoner-based printer, liquid inkjet printer, solid ink printer, and soforth. The alert module 107 provides a user with a read-out (i.e., apaper having representations of graphics and/or text) representingoutput from the computer processors 110, as will be described later inmore detail. Additionally, or alternatively, the alert module 107 isintegrated with the user interface 104. For example, the user interface104 can display graphical representations and text representing outputfrom the computer processors 110. Additionally, or alternatively, thealert module 107 can provide audible output for alerting the user of apotential health issue.

The bio-impedance sensor 108 is configured to capture and transmithydration data of a user by determining a user's hydration status bymeasuring the impedance of a weak current flowing through the user'sbody due to body's water and electrolyte content. For example, thebio-impedance sensor 108 can include an electrode for sending a weakcurrent through a user's body and can measure the amount of total bodywater in the user based on the measured impedance.

The computer processors 110 include a computer-readable medium 111. Thecomputer-readable medium 111 includes computer-executable instructions112. The computer-readable medium 111 (or computer-readable memory) caninclude any data storage technology type which is suitable to the localtechnical environment, including but not limited to semiconductor basedmemory devices, magnetic memory devices and systems, optical memorydevices and systems, fixed memory, removable memory, disc memory, flashmemory, dynamic random-access memory (DRAM), static random-access memory(SRAM), electronically erasable programmable read-only memory (EEPROM),and the like. In some implementations, the computer-readable medium 111includes code-segment having executable instructions.

The computer processors 110 are communicatively coupled to the one ormore acoustic sensors. In some implementations, the computer processors110 include a general purpose processor. In some implementations, thecomputer processors 110 include a central processing unit (CPU). In someimplementations, the computer processors 110 include at least oneapplication specific integrated circuit (ASIC). The computer processors110 can also include general purpose programmable microprocessors,special-purpose programmable microprocessors, digital signal processors(DSPs), programmable logic arrays (PLAs), field programmable gate arrays(FPGA), special purpose electronic circuits, etc., or a combinationthereof. The computer processors 110 are configured to execute programcode means such as the computer-executable instructions 112.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 carry out one or moreoperations. When the computer processors 110 execute thecomputer-executable instructions 112, the computer processors 110 areconfigured to receive health data of a user.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the retina scanner 102, retinal data of a user. For example, aspreviously indicated, the retinal scanner 102 can capturehigh-resolution images of a user's retina. The computer processors 110are configured to receive retinal data representing these images andextract certain biomarkers presented by the images that may indicate thepresence of certain diseases such as CKD, diabetes, and so forth. Forexample, in some implementations, the computer processors 110 arecapable of measuring, based on the received retinal image data, thevolume of the retina, total thickness of the retina, and/or centralsubfield mean retinal thickness. These measurements can specify thepresence of retinopathy (i.e., retinal disease) by indicating thepresence of characteristic lesions of the retina, such asmicroaneurysms, hemorrhages, cotton wool spots, intraretinalmicrovascular abnormalities, hard exudates, venous beading, and soforth. The presence of these characteristic lesions may indicate thatthe user is at risk of having, for example, diabetes and/or chronickidney disease.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the blood pressure sensor 103, blood pressure data of a user. Asindicated previously, the blood pressure sensor 103 can measure thesystolic and/or diastolic blood pressure of a user. The blood pressuresensor 103 is capable of transmitting blood pressure data representingvalues in accordance with these measurements to the computer processors110. High blood pressure may indicate that user is at risk of having ordeveloping certain diseases, such as chronic kidney disease anddiabetes. In some instances, high blood pressure is defined as systolicblood pressure measurement over 130 and a diastolic blood pressuremeasurement over 80. As indicated earlier, the blood pressure data canalso (or alternatively) include pulse measurements, cardiac outputmeasurements, vascular resistance measurements, oxygen saturationmeasurements, and so forth.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the user interface 104, lifestyle data of the user. For example, asindicated previously, the user interface 104 can receive, from a user,answers to questions related to the user's age, height, race, ethnicity,tobacco usage, family history of kidney disease/diabetes, alcohol usage,diabetic history, and whether the user has been experiencing nausea,vomiting, loss of appetite, fatigue, sleep problems, changes inurination frequency, decreased mental sharpness, muscle cramps,persistent itching, chest pain, swelling of feet or ankles, shortness ofbreath, and so forth. The user interface 104 is capable of transmittinglifestyle data indicating answers to these questions to the computerprocessors 110. The answers to these questions may indicate a risk ofthe user having certain diseases. For example, older age, frequenttobacco use, and incidences of nausea may indicate that a user is atrisk of having or developing chronic kidney disease or diabetes.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the weight sensor 105, weight data of a user. For example, asindicated previously, the weight sensor 105 can measure the weight of auser. The weight sensor 105 is capable of transmitting weight dataindicating the measured weight of a user to the computer processors 110.A user's weight may indicate that the user is at risk of having ordeveloping chronic kidney disease and/or diabetes. For example, thecomputer processors 110 can determine a body mass index (BMI) of a userby using the user's measured weight and height measurements (e.g., asindicated by the user's answers received from the user interface 104 toquestions related to the user's height). A high BMI (e.g., BMI value of25 or greater) may indicate that a user is at risk of developing CKD ordiabetes.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the urinalysis sensor 106, urinalysis data of a user. For example,as indicated previously, the urinalysis sensor 106 can detect colorchanges on a dipstick used in a urine dipstick test that can indicatethe presence of abnormalities in the urine (e.g., excessive amounts ofprotein, blood, pus, bacteria, sugar, white blood cells, etc.). Theurinalysis sensor 106 is capable of transmitting urinalysis datarepresenting the color changes corresponding to the dipstick to thecomputer processors 110. The presence of abnormalities in the urine mayindicate that a user is at risk of having or developing CKD or diabetes.For example, the presence of certain proteins in urine, such as albumin,may indicate early signs of CKD. As another example, the presence ofexcess sugar (e.g., greater than 0.8 millimoles/liter) may indicate thata user is at risk of having or developing CKD or diabetes.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to receive,from the bio-impedance sensor 108, hydration data of the user. Asindicated above, the hydration data can reflect a measurement of theamount of total body water in the user based on the measured impedance.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to detect,based on the received health data of a user, a potential health issue ofthe user (e.g., whether the user is at risk of having or developing CKDand/or diabetes). For example, if the received data indicates a highBMI, presence of albumin in the urine, frequent tobacco usage, and afamily history of kidney disease, the computer processors 110 candetermine that the corresponding user is at risk of having or developingCKD. In some implementations, the received data is assigned values. Forexample, a value can be assigned to the measured BMI (e.g., a “1” for aBMI of 18 or lower, a “2” for a BMI of 18-24, a “3” for a BMI of 25-29,and a “4” for a BMI of over 30). As another example, a value can beassigned to the answers to each question (e.g., a “1” for a yes answerand a “0 for a no answer). In some implementations, the computerprocessors 110 combine (e.g., sum, average, determine median, etc.) theassigned values to generate a health risk value and compare the healthrisk value to a threshold health risk value. If the health risk valueexceeds the threshold health risk value, the computer processors 110determine that the user is at risk of having or developing a potentialhealth issue (e.g., CKD, diabetes, etc.). In some implementations, thecomputer processors 110 weight the assigned values. The weighting of theassigned values can be based on, for example, the predictive power ofthe underlying data for predicting whether or not a user is at risk ofhaving or developing a potential health issue. For example, the presenceof albumin in urine may be more predictive as to whether a user is atrisk of having or developing CKD than a high BMI. Therefore, the valuescorresponding to the presence of albumin in urine can be weightedheavier than the values corresponding to a high BMI. In someimplementations, the weighting scheme weights certain measurements inaccordance with the following ranking (from highest to lowest):

1. Blood Pressure/Pulse measurement;

2. Hydration Status;

3. Retinal scan analysis;

4. Cardiac rhythm;

5. Cardiac output;

6. Peripheral vascular resistance;

7. Oxygen saturation.

When the computer processors 110 execute the computer-executableinstructions 112, the computer processors 110 are configured to causethe alert module 107 to alert a user of a potential health issue inresponse to detecting the potential health issue of the user. Forexample, if the computer processors 110 detect that a user is at risk ofhaving or developing CKD, the computer processors 110 can cause thealert module 107 to generate a print-out stating: “Based on the receivedinput, it has been determined that you are at risk of having ordeveloping chronic kidney disease. Please present this print-out to ahealth care provider for further information.” In some implementations,the print-out also lists the risk factors that lead to the determination(e.g., high BMI, albumin in urine, frequent smoking, etc.). As indicatedearlier, this alert can alternatively (or additionally) be provided bythe user interface 104. In some implementations, the computer processors110 can utilize a database (e.g., local, cloud-based, etc.) to help theuser locate a healthcare professional that specializes in the detectedpotential health issue. For example, if the detected potential healthissue is that the user is a risk of having CKD, the computer processors110 can utilize the database to identify one or more nephrologist thatare local to the user's place of residency (e.g., within 60 miles of theuser's place of residency). For determining the user's place ofresidency, the user interface 104 can prompt the user to provide, forexample, their home address.

While the system 101 has been described as having a retinal scanner 102,a blood pressure sensor 103, a user interface 104, a weight sensor 105,a urinalysis sensor 106, and a bio-impedance sensor 108, the system 101can have more or less of these components. For example, in someimplementations, the system 101 can include two retinal scanners 102. Insome implementations, the system 101 does not include a user interface104, the urinalysis sensor 106, and/or the weight sensor 104. In someimplementations, the system 101 does not include the retinal scanner102. Consequently, the computer processors 110 can be configured todetect potential health issues based on the data available in accordancewith the configuration of sensors/scanners of the system 101.

FIG. 3 shows a flowchart depicting an example of a method 300 fordetecting potential health issues, in accordance with one or moreembodiments of the present disclosure. For illustrative purposes, themethod 300 is described as being performed by the system 101 fordetecting potential health issues described previously with reference toFIG. 2. The method 300 includes receiving health data of a user (block310), detecting a potential health issue of the user (block 320), andcausing an alert module to alert the user of the potential health issue(block 330).

At block 310, the computer processors 110 receive health data of a user.For example, as previously indicated with reference to FIG. 2, thecomputer processors 110 can receive: retinal data from the retinascanner 102, blood pressure data from the blood pressure sensor 103,lifestyle data from the user interface 104, weight data from the weightsensor 105, and/or urinalysis data from the urinalysis sensor 106.

At block 320, the computer processors 110 detect, based on the receivedhealth data of the user, a potential health issue of the user (e.g.,whether the user is at risk of having or developing CKD and/ordiabetes). For example, if the received data indicates a high BMI,presence of albumin in the urine, frequent tobacco usage, and a familyhistory of kidney disease, the computer processors 110 can determinethat the corresponding user is at risk of having or developing CKD. Insome implementations, the received data is assigned values. For example,a value can be assigned to the measured BMI (e.g., a “1” for a BMI of 18or lower, a “2” for a BMI of 18-24, a “3” for a BMI of 25-29, and a “4”for a BMI of over 30). As another example, a value can be assigned tothe answers to each question (e.g., a “1” for a yes answer and a “0 fora no answer). In some implementations, the computer processors 110combine (e.g., sum, average, determine median, etc.) the assigned valuesto generate a health risk value and compare the health risk value to athreshold health risk value. If the health risk value exceeds thethreshold health risk value, the computer processors 110 determine thatthe user is at risk of having or developing a potential health issue(e.g., CKD, diabetes, etc.). In some implementations, the computerprocessors 110 weight the assigned values. The weighting of the assignedvalues can be based on, for example, the predictive power of theunderlying data for predicting whether or not a user is at risk ofhaving or developing a potential health issue. For example, the presenceof albumin in urine may be more predictive as to whether a user is atrisk of having or developing CKD than a high BMI. Therefore, the valuescorresponding to the presence of albumin in urine can be weightedheavier than the values corresponding to a high BMI.

At block 330, the computer processors 110 cause the alert module 107 toalert the user of a potential health issue in response to detecting thepotential health issue of the user. For example, if the computerprocessors 110 detect that the user is at risk of having or developingCKD, the computer processors 110 can cause the alert module 107 togenerate a print-out stating: “Based on the received input, it has beendetermined that you are at risk of having or developing chronic kidneydisease. Please present this print-out to a health care provider forfurther information.” In some implementations, the print-out also liststhe risk factors that lead to the determination (e.g., high BMI, albuminin urine, frequent smoking, etc.). As indicated earlier, this alert canalternatively (or additionally) be provided by the user interface 104.In some implementations, the computer processors 110 can utilize adatabase (e.g., local, cloud-based, etc.) to help the user locate ahealthcare professional that specializes in the detected potentialhealth issue. For example, if the detected potential health issue isthat the user is a risk of having CKD, the computer processors 110 canutilize the database to identify one or more nephrologist that are localto the user's place of residency (e.g., within 60 miles of the user'splace of residency). For determining the user's place of residency, theuser interface 104 can prompt the user to provide, for example, theirhome address.

FIG. 4 is a block diagram of an example computer system 500 used toprovide computational functionalities associated with describedalgorithms, methods, functions, processes, flows, and proceduresdescribed in the present disclosure (such as the method 300 describedpreviously with reference to FIG. 3), according to some implementationsof the present disclosure. The illustrated computer 502 is intended toencompass any computing device such as a server, a desktop computer, alaptop/notebook computer, a wireless data port, a smart phone, apersonal data assistant (PDA), a tablet computing device, or one or moreprocessors within these devices, including physical instances, virtualinstances, or both. The computer 502 can include input devices such askeypads, keyboards, and touch screens that can accept user information.Also, the computer 502 can include output devices that can conveyinformation associated with the operation of the computer 502. Theinformation can include digital data, visual data, audio information, ora combination of information. The information can be presented in agraphical user interface (UI) (or GUI).

The computer 502 can serve in a role as a client, a network component, aserver, a database, a persistency, or components of a computer systemfor performing the subject matter described in the present disclosure.The illustrated computer 502 is communicably coupled with a network 530.In some implementations, one or more components of the computer 502 canbe configured to operate within different environments, includingcloud-computing-based environments, local environments, globalenvironments, and combinations of environments.

At a high level, the computer 502 is an electronic computing deviceoperable to receive, transmit, process, store, and manage data andinformation associated with the described subject matter. According tosome implementations, the computer 502 can also include, or becommunicably coupled with, an application server, an email server, a webserver, a caching server, a streaming data server, or a combination ofservers.

The computer 502 can receive requests over network 530 from a clientapplication (for example, executing on another computer 502). Thecomputer 502 can respond to the received requests by processing thereceived requests using software applications. Requests can also be sentto the computer 502 from internal users (for example, from a commandconsole), external (or third) parties, automated applications, entities,individuals, systems, and computers.

Each of the components of the computer 502 can communicate using asystem bus 503. In some implementations, any or all of the components ofthe computer 502, including hardware or software components, caninterface with each other or the interface 504 (or a combination ofboth), over the system bus 503. Interfaces can use an applicationprogramming interface (API) 512, a service layer 513, or a combinationof the API 512 and service layer 513. The API 512 can includespecifications for routines, data structures, and object classes. TheAPI 512 can be either computer-language independent or dependent. TheAPI 512 can refer to a complete interface, a single function, or a setof APIs.

The service layer 513 can provide software services to the computer 502and other components (whether illustrated or not) that are communicablycoupled to the computer 502. The functionality of the computer 502 canbe accessible for all service consumers using this service layer.Software services, such as those provided by the service layer 513, canprovide reusable, defined functionalities through a defined interface.For example, the interface can be software written in JAVA, C++, or alanguage providing data in extensible markup language (XML) format.While illustrated as an integrated component of the computer 502, inalternative implementations, the API 512 or the service layer 513 can bestand-alone components in relation to other components of the computer502 and other components communicably coupled to the computer 502.Moreover, any or all parts of the API 512 or the service layer 513 canbe implemented as child or sub-modules of another software module,enterprise application, or hardware module without departing from thescope of the present disclosure.

The computer 502 includes an interface 504. Although illustrated as asingle interface 504 in FIG. 4, two or more interfaces 504 can be usedaccording to particular needs, desires, or particular implementations ofthe computer 502 and the described functionality. The interface 504 canbe used by the computer 502 for communicating with other systems thatare connected to the network 530 (whether illustrated or not) in adistributed environment. Generally, the interface 504 can include, or beimplemented using, logic encoded in software or hardware (or acombination of software and hardware) operable to communicate with thenetwork 530. More specifically, the interface 504 can include softwaresupporting one or more communication protocols associated withcommunications. As such, the network 530 or the interface's hardware canbe operable to communicate physical signals within and outside of theillustrated computer 502.

The computer 502 includes a processor 505. Although illustrated as asingle processor 505 in FIG. 4, two or more processors 505 can be usedaccording to particular needs, desires, or particular implementations ofthe computer 502 and the described functionality. Generally, theprocessor 505 can execute instructions and can manipulate data toperform the operations of the computer 502, including operations usingalgorithms, methods, functions, processes, flows, and procedures asdescribed in the present disclosure.

The computer 502 also includes a database 506 that can hold data for thecomputer 502 and other components connected to the network 530 (whetherillustrated or not). For example, database 506 can be an in-memory,conventional, or a database storing data consistent with the presentdisclosure. In some implementations, database 506 can be a combinationof two or more different database types (for example, hybrid in-memoryand conventional databases) according to particular needs, desires, orparticular implementations of the computer 502 and the describedfunctionality. Although illustrated as a single database 506 in FIG. 4,two or more databases (of the same, different, or combination of types)can be used according to particular needs, desires, or particularimplementations of the computer 502 and the described functionality.While database 506 is illustrated as an internal component of thecomputer 502, in alternative implementations, database 506 can beexternal to the computer 502.

The computer 502 also includes a memory 507 that can hold data for thecomputer 502 or a combination of components connected to the network 530(whether illustrated or not). Memory 507 can store any data consistentwith the present disclosure. In some implementations, memory 507 can bea combination of two or more different types of memory (for example, acombination of semiconductor and magnetic storage) according toparticular needs, desires, or particular implementations of the computer502 and the described functionality. Although illustrated as a singlememory 507 in FIG. 4, two or more memories 507 (of the same, different,or combination of types) can be used according to particular needs,desires, or particular implementations of the computer 502 and thedescribed functionality. While memory 507 is illustrated as an internalcomponent of the computer 502, in alternative implementations, memory507 can be external to the computer 502.

The application 508 can be an algorithmic software engine providingfunctionality according to particular needs, desires, or particularimplementations of the computer 502 and the described functionality. Forexample, application 508 can serve as one or more components, modules,or applications. Further, although illustrated as a single application508, the application 508 can be implemented as multiple applications 508on the computer 502. In addition, although illustrated as internal tothe computer 502, in alternative implementations, the application 508can be external to the computer 502.

The computer 502 can also include a power supply 514. The power supply514 can include a rechargeable or non-rechargeable battery that can beconfigured to be either user- or non-user-replaceable. In someimplementations, the power supply 514 can include power-conversion andmanagement circuits, including recharging, standby, and power managementfunctionalities. In some implementations, the power-supply 514 caninclude a power plug to allow the computer 502 to be plugged into a wallsocket or a power source to, for example, power the computer 502 orrecharge a rechargeable battery.

There can be any number of computers 502 associated with, or externalto, a computer system containing computer 502, with each computer 502communicating over network 530. Further, the terms “client,” “user,” andother appropriate terminology can be used interchangeably, asappropriate, without departing from the scope of the present disclosure.Moreover, the present disclosure contemplates that many users can useone computer 502 and one user can use multiple computers 502.

Implementations of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, in tangibly embodied computer software or firmware, incomputer hardware, including the structures disclosed in thisspecification and their structural equivalents, or in combinations ofone or more of them. Software implementations of the described subjectmatter can be implemented as one or more computer programs. Eachcomputer program can include one or more modules of computer programinstructions encoded on a tangible, non-transitory, computer-readablecomputer-storage medium for execution by, or to control the operationof, data processing apparatus. Alternatively, or additionally, theprogram instructions can be encoded in/on an artificially generatedpropagated signal. For example, the signal can be a machine-generatedelectrical, optical, or electromagnetic signal that is generated toencode information for transmission to suitable receiver apparatus forexecution by a data processing apparatus. The computer-storage mediumcan be a machine-readable storage device, a machine-readable storagesubstrate, a random or serial access memory device, or a combination ofcomputer-storage mediums.

The terms “data processing apparatus,” “computer,” and “electroniccomputer device” (or equivalent as understood by one of ordinary skillin the art) refer to data processing hardware. For example, a dataprocessing apparatus can encompass all kinds of apparatus, devices, andmachines for processing data, including by way of example, aprogrammable processor, a computer, or multiple processors or computers.The apparatus can also include special purpose logic circuitryincluding, for example, a central processing unit (CPU), a fieldprogrammable gate array (FPGA), or an application specific integratedcircuit (ASIC). In some implementations, the data processing apparatusor special purpose logic circuitry (or a combination of the dataprocessing apparatus or special purpose logic circuitry) can behardware- or software-based (or a combination of both hardware- andsoftware-based). The apparatus can optionally include code that createsan execution environment for computer programs, for example, code thatconstitutes processor firmware, a protocol stack, a database managementsystem, an operating system, or a combination of execution environments.The present disclosure contemplates the use of data processingapparatuses with or without conventional operating systems, for example,LINUX, UNIX, WINDOWS, MAC OS, ANDROID, or IOS.

A computer program, which can also be referred to or described as aprogram, software, a software application, a module, a software module,a script, or code, can be written in any form of programming language.Programming languages can include, for example, compiled languages,interpreted languages, declarative languages, or procedural languages.Programs can be deployed in any form, including as stand-alone programs,modules, components, subroutines, or units for use in a computingenvironment. A computer program can, but need not, correspond to a filein a file system. A program can be stored in a portion of a file thatholds other programs or data, for example, one or more scripts stored ina markup language document, in a single file dedicated to the program inquestion, or in multiple coordinated files storing one or more modules,sub programs, or portions of code. A computer program can be deployedfor execution on one computer or on multiple computers that are located,for example, at one site or distributed across multiple sites that areinterconnected by a communication network. While portions of theprograms illustrated in the various figures may be shown as individualmodules that implement the various features and functionality throughvarious objects, methods, or processes, the programs can instead includea number of sub-modules, third-party services, components, andlibraries. Conversely, the features and functionality of variouscomponents can be combined into single components as appropriate.Thresholds used to make computational determinations can be statically,dynamically, or both statically and dynamically determined.

The methods, processes, or logic flows described in this specificationcan be performed by one or more programmable computers executing one ormore computer programs to perform functions by operating on input dataand generating output. The methods, processes, or logic flows can alsobe performed by, and apparatus can also be implemented as, specialpurpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.

Computers suitable for the execution of a computer program can be basedon one or more of general and special purpose microprocessors and otherkinds of CPUs. The elements of a computer are a CPU for performing orexecuting instructions and one or more memory devices for storinginstructions and data. Generally, a CPU can receive instructions anddata from (and write data to) a memory. A computer can also include, orbe operatively coupled to, one or more mass storage devices for storingdata. In some implementations, a computer can receive data from, andtransfer data to, the mass storage devices including, for example,magnetic, magneto optical disks, or optical disks. Moreover, a computercan be embedded in another device, for example, a mobile telephone, apersonal digital assistant (PDA), a mobile audio or video player, a gameconsole, a global positioning system (GPS) receiver, or a portablestorage device such as a universal serial bus (USB) flash drive.

Computer readable media (transitory or non-transitory, as appropriate)suitable for storing computer program instructions and data can includeall forms of permanent/non-permanent and volatile/non-volatile memory,media, and memory devices. Computer readable media can include, forexample, semiconductor memory devices such as random access memory(RAM), read only memory (ROM), phase change memory (PRAM), static randomaccess memory (SRAM), dynamic random access memory (DRAM), erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), and flash memory devices.Computer readable media can also include, for example, magnetic devicessuch as tape, cartridges, cassettes, and internal/removable disks.Computer readable media can also include magneto optical disks andoptical memory devices and technologies including, for example, digitalvideo disc (DVD), CD ROM, DVD+/−R, DVD-RAM, DVD-ROM, HD-DVD, and BLURAY.The memory can store various objects or data, including caches, classes,frameworks, applications, modules, backup data, jobs, web pages, webpage templates, data structures, database tables, repositories, anddynamic information. Types of objects and data stored in memory caninclude parameters, variables, algorithms, instructions, rules,constraints, and references. Additionally, the memory can include logs,policies, security or access data, and reporting files. The processorand the memory can be supplemented by, or incorporated in, specialpurpose logic circuitry.

Implementations of the subject matter described in the presentdisclosure can be implemented on a computer having a display device forproviding interaction with a user, including displaying information to(and receiving input from) the user. Types of display devices caninclude, for example, a cathode ray tube (CRT), a liquid crystal display(LCD), a light-emitting diode (LED), and a plasma monitor. Displaydevices can include a keyboard and pointing devices including, forexample, a mouse, a trackball, or a trackpad. User input can also beprovided to the computer through the use of a touchscreen, such as atablet computer surface with pressure sensitivity or a multi-touchscreen using capacitive or electric sensing. Other kinds of devices canbe used to provide for interaction with a user, including to receiveuser feedback including, for example, sensory feedback including visualfeedback, auditory feedback, or tactile feedback. Input from the usercan be received in the form of acoustic, speech, or tactile input. Inaddition, a computer can interact with a user by sending documents to,and receiving documents from, a device that is used by the user. Forexample, the computer can send web pages to a web browser on a user'sclient device in response to requests received from the web browser.

The term “graphical user interface,” or “GUI,” can be used in thesingular or the plural to describe one or more graphical user interfacesand each of the displays of a particular graphical user interface.Therefore, a GUI can represent any graphical user interface, including,but not limited to, a web browser, a touch screen, or a command lineinterface (CLI) that processes information and efficiently presents theinformation results to the user. In general, a GUI can include aplurality of user interface (UI) elements, some or all associated with aweb browser, such as interactive fields, pull-down lists, and buttons.These and other UI elements can be related to or represent the functionsof the web browser.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back endcomponent (for example, as a data server), or that includes a middlewarecomponent (for example, an application server). Moreover, the computingsystem can include a front-end component, for example, a client computerhaving one or both of a graphical user interface or a Web browserthrough which a user can interact with the computer. The components ofthe system can be interconnected by any form or medium of wireline orwireless digital data communication (or a combination of datacommunication) in a communication network. Examples of communicationnetworks include a local area network (LAN), a radio access network(RAN), a metropolitan area network (MAN), a wide area network (WAN),Worldwide Interoperability for Microwave Access (WIMAX), a wirelesslocal area network (WLAN) (for example, using 802.11 a/b/g/n or 802.20or a combination of protocols), all or a portion of the Internet, or anyother communication system or systems at one or more locations (or acombination of communication networks). The network can communicatewith, for example, Internet Protocol (IP) packets, frame relay frames,asynchronous transfer mode (ATM) cells, voice, video, data, or acombination of communication types between network addresses.

The computing system can include clients and servers. A client andserver can generally be remote from each other and can typicallyinteract through a communication network. The relationship of client andserver can arise by virtue of computer programs running on therespective computers and having a client-server relationship.

Cluster file systems can be any file system type accessible frommultiple servers for read and update. Locking or consistency trackingmay not be necessary since the locking of exchange file system can bedone at application layer. Furthermore, Unicode data files can bedifferent from non-Unicode data files.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of what may beclaimed, but rather as descriptions of features that may be specific toparticular implementations. Certain features that are described in thisspecification in the context of separate implementations can also beimplemented, in combination, in a single implementation. Conversely,various features that are described in the context of a singleimplementation can also be implemented in multiple implementations,separately, or in any suitable sub-combination. Moreover, althoughpreviously described features may be described as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can, in some cases, be excised from thecombination, and the claimed combination may be directed to asub-combination or variation of a sub-combination.

Particular implementations of the subject matter have been described.Other implementations, alterations, and permutations of the describedimplementations are within the scope of the following claims as will beapparent to those skilled in the art. While operations are depicted inthe drawings or claims in a particular order, this should not beunderstood as requiring that such operations be performed in theparticular order shown or in sequential order, or that all illustratedoperations be performed (some operations may be considered optional), toachieve desirable results. In certain circumstances, multitasking orparallel processing (or a combination of multitasking and parallelprocessing) may be advantageous and performed as deemed appropriate.

Moreover, the separation or integration of various system modules andcomponents in the previously described implementations should not beunderstood as requiring such separation or integration in allimplementations, and it should be understood that the described programcomponents and systems can generally be integrated together in a singlesoftware product or packaged into multiple software products.

Accordingly, the previously described example implementations do notdefine or constrain the present disclosure. Other changes,substitutions, and alterations are also possible without departing fromthe spirit and scope of the present disclosure.

Furthermore, any claimed implementation is considered to be applicableto at least a computer-implemented method; a non-transitory,computer-readable medium storing computer-readable instructions toperform the computer-implemented method; and a computer systemcomprising a computer memory interoperably coupled with a hardwareprocessor configured to perform the computer-implemented method or theinstructions stored on the non-transitory, computer-readable medium.

A number of embodiments of these systems and methods have beendescribed. Nevertheless, it will be understood that variousmodifications may be made without departing from the spirit and scope ofthis disclosure.

What is claimed is:
 1. A device for detecting potential kidney diseases,comprising: a retinal scanner configured to capture retinal image dataof a user; a blood pressure sensor configured to capture blood pressuredata of the user; an alert module configured to alert the user of apotential health risk; a non-transitory computer-readable mediumcomprising computer-executable instructions; and at least one processorcommunicatively coupled to the retinal scanner, the blood pressuresensor, and the alert module, the at least one processor configured toexecute the computer-executable instructions; wherein, when the at leastone processor is executing the computer-executable instructions, the atleast one processor is configured to carry out operations comprising:receiving, from the retinal scanner, the retinal image data of the user;processing the retinal image data to measure at least one of a volume ofa retina of the user, a total thickness of the retina of the user, or acentral subfield mean retinal thickness; receiving, from the bloodpressure sensor, the blood pressure data of the user; detecting, basedon the processed retinal image data and the received blood pressuredata, a potential kidney disease of the user; and causing, responsive todetecting the potential kidney disease of the user, the alert module toalert the user of the potential kidney disease.
 2. The device of claim1, further comprising a weight sensor communicatively coupled to the atleast one processor and configured to capture weight data of the user,wherein the operations further comprise: receiving, from the weightsensor, the weight data of the user; and wherein detecting the potentialkidney disease of the user is further based on the received weight data.3. The device of claim 1, further comprising a urinalysis sensorcommunicatively coupled to the at least one processor and configured tocapture urinalysis data of the user, wherein the operations furthercomprise: receiving, from the urinalysis sensor, the urinalysis data ofthe user; and wherein detecting the potential kidney disease of the useris further based on the received urinalysis data.
 4. The device of claim1, wherein causing the alert module to alert the user of the potentialkidney disease comprises causing the alert module to recommend to theuser that the user visit a healthcare provider.
 5. The device of claim1, wherein: the operations further comprise determining, based on theprocessed retinal image data and the received blood pressure data, ahealth risk value; and detecting the potential kidney disease comprisescomparing the health risk value to a threshold health risk value.
 6. Thedevice of claim 5, wherein determining the health risk value comprisesweighting the processed retinal image data and the received bloodpressure data in accordance with a predetermined weighting scheme. 7.The device of claim 1, wherein causing the alert module to alert theuser of the potential kidney disease comprises generating a print-outhaving a summary of a plurality of risk factors.
 8. The device of claim1, further comprising a user interface configured to capture lifestyledata of the user, wherein the operations further comprise: receiving,from the user interface, the lifestyle data of the user; and whereindetecting the potential kidney disease of the user is further based onthe received lifestyle data.
 9. The device of claim 1, wherein detectingthe potential kidney disease of the user comprises detecting that theuser is at risk of having chronic kidney disease.
 10. A method,comprising: receiving, from a retinal scanner, retinal image data of auser; processing the retinal image data to measure at least one of avolume of a retina of the user, a total thickness of the retina of theuser, or a central subfield mean retinal thickness; receiving, from ablood pressure sensor, blood pressure data of the user; detecting, basedon the processed retinal image data and the received blood pressuredata, a potential kidney disease of the user; and causing, responsive todetecting the potential kidney disease of the user, an alert module toalert the user of the potential kidney disease.
 11. The method of claim10, further comprising receiving, from a weight sensor, weight data ofthe user, wherein detecting the potential kidney disease of the user isfurther based on the received weight data.
 12. The method of claim 10,further comprising receiving, from a urinalysis sensor, urinalysis dataof the user, wherein detecting the potential kidney disease of the useris further based on the received urinalysis data.
 13. The method ofclaim 10, wherein causing the alert module to alert the user of thepotential kidney disease comprises causing the alert module to recommendto the user that the user visit a healthcare provider.
 14. The method ofclaim 10, further comprising determining, based on the received bloodpressure data and the processed retinal image data, a health risk value,wherein detecting the potential kidney disease comprises comparing thehealth risk value to a threshold health risk value.
 15. The method ofclaim 14, wherein determining the health risk value comprises weightingthe received blood pressure data and the processed retinal image data inaccordance with a predetermined weighting scheme.
 16. The method ofclaim 10, wherein causing the alert module to alert the user of thepotential kidney disease comprises generating a print-out having asummary of a plurality of risk factors.
 17. The method of claim 10,further comprising, receiving, from a user interface, lifestyle data ofthe user, wherein detecting the potential kidney disease of the user isfurther based on the received lifestyle data.
 18. The method of claim10, wherein detecting the potential kidney disease of the user comprisesdetecting that the user is at risk of having chronic kidney disease. 19.A non-transitory computer-readable storage medium having instructionsexecutable by one or more processors to cause the processors to performoperations comprising: receiving, from a retinal scanner, retinal imagedata of a user; processing the retinal image data to measure at leastone of a volume of a retina of the user, a total thickness of the retinaof the user, or a central subfield mean retinal thickness; receiving,from a blood pressure sensor, blood pressure data of the user;detecting, based on the processed retinal image data and the receivedblood pressure data, a potential health issue kidney disease of theuser; and causing, responsive to detecting the potential kidney diseaseof the user, an alert module to alert the user of the potential kidneydisease.
 20. The non-transitory computer-readable storage medium ofclaim 19, the operations further comprising receiving, from a urinalysissensor, urinalysis data of the user, wherein detecting the potentialkidney disease of the user is further based on the received urinalysisdata.